// 数据为对象类型

let arr1 = [
    {
        name: 'kobe',
        age: 42
    },
    {
        name: 'james',
        age: 36
    },
    {
        name: 'kobe',
        age: 42
    },
    {
        name: 'wade',
        age: 35
    },
    {
        name: 'curry',
        age: 32
    },
    {
        name: 'curry',
        age: 32
    }
]

function uniqueArr1(arr){
    if(!Array.isArray(arr)) return 
    let obj = {}
    let result = []
    for(let item of arr) {
        if(!obj[item.name]){
            result.push(item)
            obj[item.name] = true
        }
    }
    return result
}

const res1 = uniqueArr1(arr1)
console.log(res1);

function uniqueNums2() {

}


var arr = [{
    key: '01',
     value: '乐乐'
  }, {
     key: '02',
     value: '博博'
  }, {
     key: '03',
     value: '淘淘'
  },{
     key: '04',
     value: '哈哈'
  },{
     key: '01',
     value: '乐乐'
  }];

//  方法1：利用对象访问属性的方法，判断对象中是否存在key
  var result = [];
  var obj = {};
  for(var i =0; i<arr.length; i++){
     if(!obj[arr[i].key]){
        result.push(arr[i]);
       obj[arr[i].key] = true;
     }
  }
  console.log(result); 



//   使用loadsh的uniqBy
_.uniqBy(arr, 'name');